Mechanized Metatheory for User-Defined Type Extensions
نویسندگان
چکیده
Motivation Type systems are a natural discipline for ensuring that programs maintain certain runtime invariants. Of course, language designers cannot anticipate all the invariants that programmers will want to enforce. Therefore, it is desirable to allow programmers to specify and statically check invariants of interest for their applications. Researchers have designed expressive type systems that allow programmer-defined invariants to be directly encoded as types. However, there is a tradeoff between type-system expressiveness and ease of use for programmers. First, the more expressive the type system, the more annotation burden there is on the programmer. For example, expressive type systems often require programmers to manually discharge proof obligations to ensure that a program fragment meets its specified type. Second, the more expressive the type system, the more difficult it is for programmers to understand. In traditional type systems, each type has a relatively simple set of syntax-directed rules, which constitutes a programming discipline for programmers to obey. As type systems become more expressive, it becomes more difficult for programmers to understand what programming idioms can and cannot be typechecked and why. As a result, languages with expressive type systems may be challenging for programmers to use effectively.
منابع مشابه
Dependently Typed Programming with Domain-Specific Logics (Thesis Proposal DRAFT)
We propose a thesis defending the following statement: The logical notions of polarity and focusing provide a foundation for dependently typed programming with domain-specific logics, with applications to certified software and mechanized metatheory.
متن کاملA List - machine Benchmark for Mechanized Metatheory ( Extended Abstract ) Andrew
We propose a benchmark to compare theorem-proving systems on their ability to express proofs of compiler correctness. In contrast to the first POPLmark, we emphasize the connection of proofs to compiler implementations, and we point out that much can be done without binders or alpha-conversion. We propose specific criteria for evaluating the utility of mechanized metatheory systems; we have con...
متن کاملA List-machine Benchmark for Mechanized Metatheory: (Extended Abstract)
We propose a benchmark to compare theorem-proving systems on their ability to express proofs of compiler correctness. In contrast to the first POPLmark, we emphasize the connection of proofs to compiler implementations, and we point out that much can be done without binders or alpha-conversion. We propose specific criteria for evaluating the utility of mechanized metatheory systems; we have con...
متن کاملαCheck: A mechanized metatheory model checker
The problem of mechanically formalizing and proving metatheoretic properties of programming language calculi, type systems, operational semantics, and related formal systems has received considerable attention recently. However, the dual problem of searching for errors in such formalizations has attracted comparatively little attention. In this article, we present αCheck, a bounded model-checke...
متن کاملThe Relative Consistency of the Axiom of Choice - Mechanized Using Isabelle/ZF
The proof of the relative consistency of the axiom of choice has been mechanized using Isabelle/ZF. The proof builds upon a previous mechanization of the reflection theorem [15]. The heavy reliance on metatheory in the original proof makes the formalization unusually long, and not entirely satisfactory: two parts of the proof do not fit together. It seems impossible to solve these problems with...
متن کامل